home *** CD-ROM | disk | FTP | other *** search
/ Freesoft 1997 May / Freesoft_1997-05_cd.bin / inzer / minolta / drivers / WL400 / W3.1 disk 1 / TESTPAGE.MS_ / TESTPAGE.MS
Text File  |  1994-12-06  |  10KB  |  330 lines

  1. ON ERROR GOTO QUIT
  2. CONST LOGO = 1
  3. CONST ASKQUIT = 200
  4. CONST INSTALL_TEST = 2700
  5. CONST EXPLAIN_PAGE = 3000
  6. CONST EXITFAILURE = 400
  7. CONST EXITSUCCESS = 700
  8. CONST APPHELP = 900
  9. CONST CONTROLS = 2500
  10. CONST CONTROLS_EGA = 2501
  11. CONST HELP_TESTPAGE = 5600
  12. CONST HELP_EXPLAIN_PAGE = 6100
  13. CONST HELP_EXITFAILURE = 6200
  14. CONST HELP_EXITSUCCESS = 7000
  15. CONST HELP_ASKQUIT = 7200
  16. CONST cbSymValMax = 512
  17. CONST STFERR = 1024
  18. CONST STFQUIT = 1025
  19. CONST WM_SYSCOMMAND% = 274
  20. CONST SC_MAXIMIZE% = 61488
  21. CONST FALSE = 0
  22. CONST TRUE = 1
  23. CONST BTN_NO$ = "No"
  24. CONST BTN_YES$ = "Yes"
  25. CONST BTN_CANCEL$ = "Cancel"
  26. CONST BTN_EXIT$ = "Exit"
  27. CONST BTN_OK$ = "OK"
  28. CONST BTN_PRINTAGAIN$ = "Print Again"
  29. CONST VAL_REACTIVE$ = "REACTIVATE"
  30. CONST BTN_EXITINSTALL$ = "Exit Install"
  31. CONST SYM_TEMPLIST$ = "templist"
  32. CONST DLL_CUIDLL$ = "mscuistf.dll"
  33. CONST INI_WININI$ = "WIN.INI"
  34. CONST INI_WINDOWS$ = "windows"
  35. CONST INI_DEVICE$ = "device"
  36. CONST INI_RUN$ = "run"
  37. CONST INI_TESTPAGE$ = "testpage"
  38. CONST SYM_BUTTONSGREYED$ = "ButtonsGreyed"
  39. CONST SYM_RESOURCEBASENAME$ = "ResourceBaseName"
  40. CONST VAL_STATUSPAGE$ = "statuspage"
  41. CONST SYM_CURDLGHANDLE$ = "HDLGCUR"
  42. CONST MSG_WPS$ = "Minolta WinLaser 400"
  43. CONST OEM_NAME$ = "WPSLA"
  44. CONST FILE_WPSINI$ = "wps.ini"
  45. CONST INI_MODEL$ = "MODEL"
  46. CONST PATH_TESTPAGE$ = "~wps_tp"
  47. CONST PATH_WPS$ = "~ms_wps"
  48. CONST SYM_CWDDIR$ = "STF_CWDDIR"
  49. CONST SYM_DLGEVENT$ = "DLGEVENT"
  50. CONST MSG_TITLE$ = "Windows Printing System"
  51. DECLARE SUB PrintTestPage LIB "WPSLA.DRV" (a%, b%, c$)
  52. DECLARE FUNCTION GetWindowsDirectory LIB "kernel" (szBuf$, cbBuf%) AS INTEGER
  53. DECLARE FUNCTION GetSystemDirectory LIB "kernel" (szBuf$, cbBuf%) AS INTEGER
  54. DECLARE FUNCTION CbGetListItem LIB "mscomstf.dll" (szListSymbol$, n%, szListItem$, cbMax%) AS INTEGER
  55. DECLARE FUNCTION CbGetSymbolValue LIB "mscomstf.dll" (szSymbol$, szValue$, Length%) AS INTEGER
  56. DECLARE FUNCTION DoMsgBox LIB "mscomstf.dll" (lpText$,lpCaption$,wType%) As INTEGER
  57. DECLARE FUNCTION FRemoveSymbol LIB "mscomstf.dll" (szSym$) AS INTEGER
  58. DECLARE FUNCTION UsGetListLength LIB "mscomstf.dll" (szSymbol$) AS INTEGER
  59. DECLARE SUB FEnableControls LIB "mscuistf.dll" (a%)
  60. DECLARE SUB FInitInfoDialog LIB "mscuistf.dll" ()
  61. DECLARE SUB FInitMultiDialog LIB "mscuistf.dll" ()
  62. DECLARE SUB FRemoveValFromIniKey LIB "mscuistf.dll" (a$, b$, c$, d$)
  63. DECLARE FUNCTION CbGetIniKeyString LIB "msdetstf.dll" (szFile$, szSect$, szKey$, szBuf$, cbBuf%) AS INTEGER
  64. DECLARE FUNCTION FDirExists LIB "msdetstf.dll" (szDir$) AS INTEGER
  65. DECLARE FUNCTION FInitializeInstall LIB "msinsstf.dll" (hinst%, hwndFrame%) AS INTEGER
  66. DECLARE FUNCTION FCreateIniKeyValue LIB "msinsstf.dll" (szFile$, szSect$, szKey$, szValue$, cmo%) AS INTEGER
  67. DECLARE FUNCTION YnrcRemoveFile LIB "msinsstf.dll" (szFullPathSrc$, cmo%) AS INTEGER
  68. DECLARE FUNCTION FSetBitmap LIB "msshlstf.dll" (szDll$, Bitmap%) AS INTEGER
  69. DECLARE FUNCTION FSetSymbolValue LIB "msshlstf.dll" (szSymbol$, szValue$) AS INTEGER
  70. DECLARE FUNCTION HShowWaitCursor LIB "msshlstf.dll" AS INTEGER
  71. DECLARE FUNCTION HinstFrame LIB "msshlstf.dll" AS INTEGER
  72. DECLARE FUNCTION HwndFrame LIB "msshlstf.dll" AS INTEGER
  73. DECLARE FUNCTION InitializeFrame LIB "msshlstf.dll" (szCmdLine$) AS INTEGER
  74. DECLARE FUNCTION FRestoreCursor LIB "msshlstf.dll" (hPrev%) AS INTEGER
  75. DECLARE FUNCTION FDoDialog LIB "msuilstf.dll" (hwnd%, szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS INTEGER
  76. DECLARE FUNCTION FKillNDialogs LIB "msuilstf.dll" (n%) AS INTEGER
  77. DECLARE SUB EnableWindow LIB "user" (a%,b%)
  78. DECLARE FUNCTION GetActiveWindow LIB "user" AS INTEGER
  79. DECLARE FUNCTION GetDlgItem LIB "user" (a%,b%) AS INTEGER
  80. DECLARE FUNCTION GetSystemMetrics LIB "user" (nIndex%) AS INTEGER
  81. DECLARE FUNCTION SendMessage LIB "user" (a%,b%,c%,d$) AS INTEGER
  82. DECLARE SUB SetWindowText LIB "user" (hwnd%, lpString$)
  83. DECLARE SUB Box (message$, title$)
  84. DECLARE SUB BuildPrinterName()
  85. DECLARE SUB DeleteDir(szDir$)
  86. DECLARE SUB DoPrintTestPage()
  87. DECLARE SUB doASKQUIT
  88. DECLARE SUB FCLEANUP ()
  89. DECLARE SUB SetSymbolValue (szSymbol$, szValue$)
  90. DECLARE SUB UIPop (n%)
  91. DECLARE FUNCTION GetIniKeyString (szFile$, szSect$, szKey$) AS STRING
  92. DECLARE FUNCTION GetListItem(szSymbol$, n%) AS STRING
  93. DECLARE FUNCTION GetListLength(szSymbol$) AS INTEGER
  94. DECLARE FUNCTION GetSymbolValue (szSymbol$) AS STRING
  95. DECLARE FUNCTION InitSetup (szCmdLine$) AS INTEGER
  96. DECLARE FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS STRING
  97. GLOBAL fFrameInit AS INTEGER
  98. GLOBAL fInstallInit AS INTEGER
  99. GLOBAL hSetup AS INTEGER
  100. GLOBAL WINSYSDIR AS STRING
  101. GLOBAL WinDir AS STRING
  102. GLOBAL szPort$
  103. GLOBAL iModel AS INTEGER
  104. EntryPoint:
  105. TRAP CleanupTrap From "MSSHLSTF.DLL"
  106. End Trap
  107. hSetup = InitSetup(COMMAND$)
  108. BuildPrinterName
  109. IF iModel = 0 THEN
  110. GOTO CLEANUP
  111. ENDIF
  112. i% = SendMessage(HwndFrame(), WM_SYSCOMMAND%, SC_MAXIMIZE%, "")
  113. SetWindowText HwndFrame(), MSG_TITLE$
  114. IF FSetBitmap(DLL_CUIDLL$, LOGO) = 0 THEN
  115. ERROR STFERR
  116. END IF
  117. dlg% = EXITFAILURE
  118. WINSYSDIR$ = string$(256, 32)
  119. i% = GetSystemDirectory(WINSYSDIR$, 256)
  120. WINSYSDIR$ = WINSYSDIR$+"\"
  121. i% = GetSystemMetrics(1)
  122. if i% = 350 OR i% = 348 then
  123. sz$ = UIStartDlg(DLL_CUIDLL$, CONTROLS_EGA, "FModelessDlgProc", 0, "")
  124. else
  125. sz$ = UIStartDlg(DLL_CUIDLL$, CONTROLS, "FModelessDlgProc", 0, "")
  126. end if
  127. Dlg_Install_Test:
  128. FInitInfoDialog
  129. sz$ = UIStartDlg(DLL_CUIDLL$, INSTALL_TEST, "FInfoDlgProc", HELP_TESTPAGE, "FHelpDlgProc")
  130. if sz$ = BTN_YES$ then
  131. DoPrintTestPage
  132. UIPop 1
  133. goto Dlg_Confirm_Test
  134. elseif sz$ = BTN_NO$ then
  135. UIPop 1
  136. goto CLEANUP
  137. elseif sz$ = BTN_EXIT$ or sz$ = BTN_CANCEL$ then
  138. doASKQUIT
  139. end if
  140. goto Dlg_Install_Test
  141. Dlg_Confirm_Test:
  142. FInitMultiDialog
  143. SetSymbolValue SYM_RESOURCEBASENAME$, VAL_STATUSPAGE$
  144. Dlg_Confirm_Test_Loop:
  145. sz$ = UIStartDlg(DLL_CUIDLL$, EXPLAIN_PAGE, "FMultiDlgProc", HELP_EXPLAIN_PAGE, "FHelpDlgProc")
  146. if sz$ = BTN_OK$ then
  147. UIPop 1
  148. goto CLEANUP
  149. elseif sz$ = BTN_PRINTAGAIN$ then
  150. hwnd% = val(GetSymbolValue(SYM_CURDLGHANDLE$))
  151. hwnd% = GetDlgItem (hwnd%,402)
  152. EnableWindow hwnd%, FALSE
  153. DoPrintTestPage
  154. EnableWindow hwnd%, TRUE
  155. elseif sz$ = BTN_EXIT$ or sz$ = BTN_CANCEL$ then
  156. doASKQUIT
  157. end if
  158. goto Dlg_Confirm_Test_Loop
  159. CLEANUP:
  160. QUIT:
  161. ON ERROR GOTO ERRQUIT
  162. FCLEANUP
  163. FEnableControls TRUE
  164. IF ERR = 0 THEN
  165. dlg% = EXITSUCCESS
  166. ELSEIF ERR = STFQUIT THEN
  167. END
  168. ELSE
  169. dlg% = EXITFAILURE
  170. END IF
  171. QUITL1:
  172. IF dlg% = EXITSUCCESS THEN
  173. iHelp% = HELP_EXITSUCCESS
  174. ELSE
  175. iHelp% = HELP_EXITFAILURE
  176. END IF
  177. sz$ = UIStartDlg(DLL_CUIDLL$, dlg%, "FInfo0DlgProc", iHelp%, "FHelpDlgProc")
  178. IF sz$ = VAL_REACTIVE$ THEN
  179. GOTO QUITL1
  180. END IF
  181. UIPop 1
  182. END
  183. ERRQUIT:
  184. sz$ = UIStartDlg(DLL_CUIDLL$, EXITFAILURE, "FInfo0DlgProc", HELP_EXITFAILURE, "FHelpDlgProc")
  185. END
  186. SUB BuildPrinterName () STATIC
  187. sz$ = GetIniKeyString (INI_WININI, INI_WINDOWS, INI_DEVICE$)
  188. if UCASE$(mid$(sz$, 1, 20)) <> UCASE$(MSG_WPS$) then
  189. iModel = 0
  190. else
  191. szPort$ = mid$(sz$, instr(UCASE$(sz$), ",WPSLA,")+len(",WPSLA,"))
  192. IF OEM_NAME$ <> "" THEN
  193. szPortSect$ = OEM_NAME + "," + szPort$
  194. END IF
  195. WinDir$ = string$(145, 32)
  196. i% = GetWindowsDirectory (WinDir$, 145)
  197. IF i% <> 0 THEN
  198. iModel = VAL(GetIniKeyString (WinDir$+"\"+FILE_WPSINI$, szPortSect$, INI_MODEL$))
  199. ELSE
  200. iModel = 0
  201. END IF
  202. end if
  203. END SUB
  204. SUB DoPrintTestPage () STATIC
  205. FEnableControls FALSE
  206. j% = HShowWaitCursor
  207. PrintTestPage val(GetSymbolValue(SYM_CURDLGHANDLE$)), iModel, szPort$
  208. i% = FRestoreCursor (j%)
  209. FEnableControls TRUE
  210. END SUB
  211. SUB doASKQUIT STATIC
  212. FEnableControls FALSE
  213. sz$ = UIStartDlg(DLL_CUIDLL$, ASKQUIT, "FQuitDlgProc", HELP_ASKQUIT, "FHelpDlgProc")
  214. IF sz$ = BTN_EXITINSTALL$ THEN
  215. UIPop 65535
  216. FCLEANUP
  217. END
  218. ELSE
  219. UIPop 1
  220. END IF
  221. FEnableControls TRUE
  222. END SUB
  223. SUB Box (message$, title$) STATIC
  224. i% = DoMsgBox (message$, title$, 1)
  225. if i% = 2 then
  226. doASKQUIT
  227. end if
  228. END SUB
  229. SUB UIPop (n%) STATIC
  230. IF FKillNDialogs(n%) = 0 THEN
  231. ERROR STFERR
  232. END IF
  233. END SUB
  234. SUB FCLEANUP () STATIC
  235. CursorSave% = HShowWaitCursor
  236. FRemoveValFromIniKey INI_WININI$, INI_WINDOWS$, INI_RUN$, INI_TESTPAGE$
  237. WinDir$ = string$(145, 32)
  238. i% = GetWindowsDirectory (WinDir$, 145)
  239. IF i% <> 0 THEN
  240. szDir$ = WinDir$ + "\" + PATH_TESTPAGE$
  241. IF FDirExists(szDir$) <> 0 THEN
  242. DeleteDir szDir$
  243. END IF
  244. szDir$ = mid$(WinDir$, 1, 3)+PATH_WPS$
  245. IF FDirExists(szDir$) <> 0 THEN
  246. DeleteDir szDir$
  247. END IF
  248. END IF
  249. szDir$ = ""
  250. i% = FRestoreCursor (CursorSave%)
  251. END SUB
  252. SUB DeleteDir(szDir$) STATIC
  253. CLEARLIST
  254. SETFILE szDir$+"\*.*", ON
  255. FOR FileName$ IN FILELIST
  256. junk% = YnrcRemoveFile(FileName$, 256)
  257. NEXT
  258. IF Mid$(GetSymbolValue (SYM_CWDDIR$), 1, 1) <> Mid$(szDir$, 1, 1) THEN
  259. ChDir Mid$(szDir$, 1, 2) + ".."
  260. END IF
  261. RmDir szDir$
  262. FileName$ = ""
  263. END SUB
  264. FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) STATIC AS STRING
  265. IF FDoDialog(HwndFrame(), szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) = 0 THEN
  266. ERROR STFERR
  267. ELSE
  268. UIStartDlg = GetSymbolValue(SYM_DLGEVENT$)
  269. END IF
  270. END FUNCTION
  271. FUNCTION GetSymbolValue(szSymbol$) STATIC AS STRING
  272. szValue$ = string$(cbSymValMax,32)
  273. Length% = CbGetSymbolValue(szSymbol$, szValue$, cbSymValMax)
  274. GetSymbolValue = szValue$
  275. IF szSymbol$ = "" THEN
  276. ERROR STFERR
  277. END IF
  278. szValue$ = ""
  279. END FUNCTION
  280. FUNCTION GetIniKeyString (szFile$, szSect$, szKey$) STATIC AS STRING
  281. cb% = 512
  282. szBuf$ = STRING$(cb%, 32)
  283. cbRet% = CbGetIniKeyString(szFile$, szSect$, szKey$, szBuf$, cb%)
  284. GetIniKeyString = szBuf$
  285. szBuf$ = ""
  286. END FUNCTION
  287. FUNCTION GetListItem(szListSymbol$, nItem%) STATIC AS STRING
  288. szListItem$ = string$(cbSymValMax,32)
  289. Length% = CbGetListItem(szListSymbol$, nItem%, szListItem$, cbSymValMax)
  290. GetListItem = szListItem$
  291. IF szListSymbol$ = "" THEN
  292. ERROR STFERR
  293. END IF
  294. szListItem$ = ""
  295. END FUNCTION
  296. FUNCTION GetListLength(szSymbol$) STATIC AS INTEGER
  297. GetListLength = UsGetListLength(szSymbol$)
  298. IF szSymbol$ = "" THEN
  299. ERROR STFERR
  300. END IF
  301. END FUNCTION
  302. SUB SetSymbolValue(szSymbol$, szValue$) STATIC
  303. IF FSetSymbolValue(szSymbol$, szValue$) = 0 THEN
  304. ERROR STFERR
  305. END IF
  306. END SUB
  307. FUNCTION InitSetup(szCmdLine$) STATIC AS INTEGER
  308. fFrameInit = 0
  309. fInstallInit = 0
  310. IF hSetup > 0 THEN
  311. ERROR STFERR
  312. END IF
  313. i% = InitializeFrame(szCmdLine$)
  314. IF i% = -1 THEN
  315. END
  316. ELSEIF i% = 0 THEN
  317. ERROR STFERR
  318. END
  319. ELSE
  320. InitFrame = i%
  321. END IF
  322. fFrameInit = 1
  323. IF FInitializeInstall(HinstFrame(), HwndFrame()) = 0 THEN
  324. ERROR STFERR
  325. END
  326. END IF
  327. fInstallInit = 1
  328. InitSetup = i%
  329. END FUNCTION
  330.